package com.lemon.core.base.pojo;

import java.util.List;

/**
 * 实体类和DTO属性转换器接口
 *
 * @param <D> DTO
 * @param <E> Entity
 * @author pan
 * @since 2018-02-25
 */
public interface BaseConverter<D, E> {

    /**
     * DTO转实体类
     *
     * @param dto
     * @return
     */
    E dtoToEntity(D dto);

    /**
     * 实体类转DTO
     *
     * @param entity
     * @return
     */
    D entityToDto(E entity);

    /**
     * 实体类列表转DTO
     *
     * @param entityList
     * @return
     */
    List<D> entityListToDto(List<E> entityList);

    /**
     * DTO列表转实体类
     *
     * @param dtoList
     * @return
     */
    List<E> dtoListToEntity(List<D> dtoList);
}
